package chapter04.s07exception;

// throws: 声明方法可能抛出异常

// 大部分情况下我们会调用别人编写方法，并不知道别人编写的方法是否会发生异常。
// 针对这种情况，Java允许在方法的后面使用throws关键字对外声明 该方法有可能发生的异常，
// 这样调用者在调用方法时，就明确地知道该方法有异常，并且必须在程序中对异常进行处理，否则编译无法通过。

public class Example27 {
    public static void main(String[] args) {
        // 由于定义divide()方法时声明了抛出异常
        // 调用者在调用divide()方法时就必须进行处理，否则就会发生编译错误
        // 放开注释，试一试两种处理方法
//        int result = divide(4, 2);    //调用divide()方法
//
//        System.out.println(result);
    }

    //下面的方法实现了两个整数相除
    //并使用throws关键字 声明此方法可能抛出异常
    // 调用者有2个选择：
    //    1. 在自己的方法签名上，声明此方法可能抛出异常
    //    2. 调用方法时，对异常进行 try catch
    public static int divide(int x, int y) throws Exception {
        int result = x / y;           //定义一个变量result记录两个数相除的结果
        return result;                 //将结果返回
    }
}
